Jump to content

Dilution (neural networks)

From Wikipedia, the free encyclopedia
(Redirected from Dropout (neural networks))
On the left is a fully connected neural network with two hidden layers. On the right is the same network after applying dropout.

Dilution and dropout (also called DropConnect[1]) are regularization techniques for reducing overfitting in artificial neural networks by preventing complex co-adaptations on training data. They are an efficient way of performing model averaging with neural networks.[2] Dilution refers to thinning weights,[3] while dropout refers to randomly "dropping out", or omitting, units (both hidden and visible) during the training process of a neural network.[4][5][2] Both trigger the same type of regularization.

Types and uses

[edit]

Dilution is usually split in weak dilution and strong dilution. Weak dilution describes the process in which the finite fraction of removed connections is small, and strong dilution refers to when this fraction is large. There is no clear distinction on where the limit between strong and weak dilution is, and often the distinction is dependent on the precedent of a specific use-case and has implications for how to solve for exact solutions.

Sometimes dilution is used for adding damping noise to the inputs. In that case, weak dilution refers to adding a small amount of damping noise, while strong dilution refers to adding a greater amount of damping noise. Both can be rewritten as variants of weight dilution.

These techniques are also sometimes referred to as random pruning of weights, but this is usually a non-recurring one-way operation. The network is pruned, and then kept if it is an improvement over the previous model. Dilution and dropout both refer to an iterative process. The pruning of weights typically does not imply that the network continues learning, while in dilution/dropout, the network continues to learn after the technique is applied.

Generalized linear network

[edit]

Output from a layer of linear nodes, in an artificial neural net can be described as

(1)
  • – output from node
  • – real weight before dilution, also called the Hebb connection strength
  • – input from node

This can be written in vector notation as

(2)
  • – output vector
  • – weight matrix
  • – input vector

Equations (1) and (2) are used in the subsequent sections.

Weak dilution

[edit]

During weak dilution, the finite fraction of removed connections (the weights) is small, giving rise to a tiny uncertainty. This edge-case can be solved exactly with mean field theory. In weak dilution the impact on the weights can be described as

(3)
  • – diluted weight
  • – real weight before dilution
  • – the probability of , the probability of keeping a weight

The interpretation of probability can also be changed from keeping a weight into pruning a weight.

In vector notation this can be written as

(4)

where the function imposes the previous dilution.

In weak dilution only a small and fixed fraction of the weights are diluted. When the number of terms in the sum goes to infinite (the weights for each node) it is still infinite (the fraction is fixed), thus mean field theory can be applied. In the notation from Hertz et al.[3] this would be written as

(5)
  • the mean field temperature
  • – a scaling factor for the temperature from the probability of keeping the weight
  • – real weight before dilution, also called the Hebb connection strength
  • – the mean stable equilibrium states

There are some assumptions for this to hold, which are not listed here.[6][7]

Strong dilution

[edit]

When the dilution is strong, the finite fraction of removed connections (the weights) is large, giving rise to a huge uncertainty.

Dropout

[edit]

Dropout is a special case of the previous weight equation (3), where the aforementioned equation is adjusted to remove a whole row in the vector matrix, and not only random weights

(6)
  • – the probability to keep a row in the weight matrix
  • – real row in the weight matrix before dropout
  • – diluted row in the weight matrix

Because dropout removes a whole row from the vector matrix, the previous (unlisted) assumptions for weak dilution and the use of mean field theory are not applicable.

The process by which the node is driven to zero, whether by setting the weights to zero, by “removing the node”, or by some other means, does not impact the end result and does not create a new and unique case. If the neural net is processed by a high-performance digital array-multiplicator, then it is likely more effective to drive the value to zero late in the process graph. If the net is processed by a constrained processor, perhaps even an analog neuromorphic processor, then it is likely a more power-efficient solution is to drive the value to zero early in the process graph.

Google's patent

[edit]

Although there have been examples of randomly removing connections between neurons in a neural network to improve models,[3] this technique was first introduced with the name dropout by Geoffrey Hinton, et al. in 2012.[2] Google currently holds the patent for the dropout technique.[8][note 1]

See also

[edit]

Notes

[edit]
  1. ^ The patent is most likely not valid due to previous art. “Dropout” has been described as “dilution” in previous publications. It is described by Hertz, Krogh, and Palmer in Introduction to the Theory of Neural Computation (1991) ISBN 0-201-51560-1, pp. 45, Weak Dilution. The text references Sompolinsky The Theory of Neural Networks: The Hebb Rules and Beyond in Heidelberg Colloquium on Glossy Dynamics (1987) and Canning and Gardner Partially Connected Models of Neural Networks in Journal of Physics (1988). It goes on to describe strong dilution. This predates Hinton's paper.

References

[edit]
  1. ^ Wan, Li; Zeiler, Matthew; Zhang, Sixin; Le Cun, Yann; Fergus, Rob (2013). "Regularization of Neural Networks using DropConnect". Proceedings of the 30th International Conference on Machine Learning, PMLR. 28 (3): 1058–1066 – via PMLR.
  2. ^ a b c Hinton, Geoffrey E.; Srivastava, Nitish; Krizhevsky, Alex; Sutskever, Ilya; Salakhutdinov, Ruslan R. (2012). "Improving neural networks by preventing co-adaptation of feature detectors". arXiv:1207.0580 [cs.NE].
  3. ^ a b c Hertz, John; Krogh, Anders; Palmer, Richard (1991). Introduction to the Theory of Neural Computation. Redwood City, California: Addison-Wesley Pub. Co. pp. 45–46. ISBN 0-201-51560-1.
  4. ^ "Dropout: A Simple Way to Prevent Neural Networks from Overfitting". Jmlr.org. Retrieved July 26, 2015.
  5. ^ Warde-Farley, David; Goodfellow, Ian J.; Courville, Aaron; Bengio, Yoshua (2013-12-20). "An empirical analysis of dropout in piecewise linear networks". arXiv:1312.6197 [stat.ML].
  6. ^ Sompolinsky, H. (1987), "The theory of neural networks: The Hebb rule and beyond", Heidelberg Colloquium on Glassy Dynamics, Lecture Notes in Physics, vol. 275, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 485–527, Bibcode:1987LNP...275..485S, doi:10.1007/bfb0057531, ISBN 978-3-540-17777-7
  7. ^ Canning, A; Gardner, E (1988-08-07). "Partially connected models of neural networks". Journal of Physics A: Mathematical and General. 21 (15): 3275–3284. Bibcode:1988JPhA...21.3275C. doi:10.1088/0305-4470/21/15/016. ISSN 0305-4470.
  8. ^ US 9406017B2, Hinton, Geoffrey E., "System and method for addressing overfitting in a neural network", published 2016-08-02, issued 2016-08-02